from selenium import webdriver
import time

# 打开浏览器
driver = webdriver.Chrome()
driver.maximize_window()
# 隐式等待
driver.implicitly_wait(10)
# 打开网页
driver.get("https://mail.163.com/")
# iframe表单切换
'''
switch_to.frame() 中默认可以写 该iframe标签的id和name属性的值，但是id和name要唯一
还可以通过其他的定位方式，定位到该iframe标签，然后将定位到iframe标签对象传入给switch_to.frame()
'''
# 通过xpath的方式定位iframe标签
iframe_element = driver.find_element_by_xpath('//div[@id="loginDiv"]/iframe')
# 切换到表单
driver.switch_to.frame(iframe_element)
time.sleep(3)
# 定位邮箱输入框             auto-id-1650273027369
driver.find_element_by_css_selector('input[name="email"]').send_keys("Auguses")
# 密码
driver.find_element_by_css_selector('input[name="password"]').send_keys("waedwaeds")
# 点击 登录 按钮
driver.find_element_by_id('dologin').click()
time.sleep(2)
# 由于上面登录的时候邮箱和密码，是在内存子页面中，所以通过iframe已经切换进去了，而 vip 又在最外层页面，所以要切换到最外层
driver.switch_to.default_content()
# 点击 vip
driver.find_element_by_css_selector('a[href="https://vipmail.163.com/?from=fmail"]').click()
